#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>

int main()
{
  umask(0);
  //int fd = open("log.txt",O_WRONLY | O_CREAT | O_APPEND,0666);
  int fd = open("log.txt",O_RDONLY);
  if(fd < 0)
  {
    perror("open");
    return 1;
  }

  //read 读取
  char buffer[64];
  memset(buffer,'\0',sizeof(buffer));
  read(fd,buffer,sizeof(buffer));

  //write 写入
  //con(st char *s ="hello file\n";
  //const char *s = "ccc";
  //write(fd,s,strlen(s));

  //open success
  printf("open success,fd:%d\n",fd);
  
  close(fd);
  return 0;
}

//int main(int argc,char *argv[])
//{
//  if(argc != 2)
//  {
//    printf("argv error!\n");
//    return 1;
//  }
//  FILE *fp = fopen(argv[1],"r");
//
//  if(fp == NULL)
//  {
//    perror("fopen");
//    return 2;
//  }
//
//  //按行读取
//  char line[64];
//  //fgets -> C -> s(string) -> 会自动在字符结尾添加\0
//  while(fgets(line,sizeof(line),fp) != NULL)
//  {
//    //printf("%s", line);
//    fprintf(stdout,"%s",line);
//  }
//  
//  //进行文件操作
//  //const char *s1 = "hello fwrite\n";
//  //fwrite(s1, strlen(s1), 1, fp);
//
//  //const char *s2 = "hello fprintf\n";
//  //fprintf(fp, "%s", s2);
//  
//  //const char *s3 = "hello fputs\n";
//  //fputs(s3,fp);
//  fclose(fp);
//
//  return 0;
//}
